// 所有房源
const express = require('express')
// 引入连接池模块
const pool = require('../pool.js')
const router = express.Router()

// 所有房源
// http://127.0.0.1:3000/fy
router.get('/', (req, res, next) => {
  var obj = req.params
  pool.query('select * from qnls_hotellist', (err, r) => {
    if (err) {
      return next(err)
    }
    res.send({
      code: 200,
      msg: '查询成功',
      data: r,
    })
  })
})

// 通过hid查询旅社
router.get('/query', (req, res) => {
  let { proid, hid } = req.query
  pool.query(
    'select * from qnls_hotellist where proid=? or hid=?',
    [proid, hid],
    (err, r) => {
      if (err) {
        return next(err)
      }
      res.send({
        code: 200,
        msg: '查询成功',
        data: r,
      })
    }
  )
})

// 分页查询
router.get('/list', (req, res, next) => {
  // 获取get传递的参数
  var obj = req.query
  console.log(obj)
  let { proid } = req.query
  // 判断各项是否为空
  if (!obj.page) {
    obj.page = 1
  }
  if (!obj.pagesize) {
    obj.pagesize = 3
  }

  // 计算开始查询的值
  var start = (obj.page - 1) * obj.pagesize
  // 将每页数据量转为数字
  var size = parseInt(obj.pagesize)
  // 分页查询 ; 查询总数据量
  pool.query(
    'select * from qnls_hotellist limit ?,?;select count(hid) as sum from qnls_hotellist where proid=?',
    [start, size, proid],
    (err, r) => {
      if (err) {
        return next(err)
      }
      // 结果是二维数组
      console.log(r)
      // 获取总的数据量
      var t = r[1][0].sum
      // 计算总页数=总数据量/每页显示数据，向上取整
      var p = Math.ceil(t / obj.pagesize)
      // 响应
      res.send({
        code: 200,
        msg: '旅社列表',
        data: r[0],
        total: t,
        pages: p,
        page: obj.page,
        pagesize: obj.pagesize,
        cat_id: obj.cat_id,
      })
    }
  )
})

// 通过rid查询房源
// http://127.0.0.1:3000/fy/rid
router.post('/rid', (req, res, next) => {
  var obj = req.body
  console.log(obj)
  pool.query('select * from qnls_roomlist where rid=?', [obj.rid], (err, r) => {
    if (err) {
      return next(err)
    }
    res.send({ code: 200, msg: '查询成功', data: r })
  })
})

// 增加酒店
// http://127.0.0.1:3000/fy/add
router.post('/add',(req,res) => {
	let { hname,himg,hlocation } = req.body
	pool.query('insert into qnls_hotellist (hname,himg,hlocation) values (?,?,?)', [hname,himg,hlocation], (err, r) => {
	  if (err) {
		return next(err)
	  }
	  res.send({ code: 200, msg: '酒店添加成功' })
	})
  })
  //关联城市和房源 (分页查询)
// http://127.0.0.1:3000/fy/cs
router.post('/cs',(req,res,next) => {
	// 获取get传递的参数
	var obj = req.body
	var obj = req.body
	console.log(obj)
	// 判断各项是否为空
	if (!obj.page) {
	  obj.pno = 1
	}
	if (!obj.pagesize) {
	  obj.count = 5
	}
  
	// 计算开始查询的值
	var start = (obj.page - 1) * obj.pagesize
	// 将每页数据量转为数字
	var size = parseInt(obj.pagesize)
	// 分页查询 ; 查询总数据量
	pool.query(
	  'select * from qnls_hotellist h left join qnls_province p on h.proid=p.pid limit ?,? ;select count(hid) as sum from qnls_hotellist',
	  [start, size],
	  (err, r) => {
		if (err) {
		  return next(err)
		}
		// 结果是二维数组
		console.log(r)
		// 获取总的数据量
		var t = r[1][0].sum
		// 计算总页数=总数据量/每页显示数据，向上取整
		var p = Math.ceil(t / obj.pagesize)
		// 响应
		res.send({
		  code: 200,
		  msg: '酒店列表',
		  data: r[0],
		  total: t,
		  pages: p,
		  page: obj.page,
		  pagesize: obj.pagesize,
		  cat_id: obj.cat_id,
		})
	  }
	) 
  })

//   通过城市查询房源（分页）
// http://127.0.0.1:3000/fy/csfy
router.post('/csfy',(req,res,next)=>{
	// 获取传递的参数
	var obj=req.body
	console.log(obj)
    let {proid} = req.body
	// 判断各项是否为空
	if(!obj.page){
		obj.page=1
	}
	if(!obj.pagesize){
		obj.pagesize=5
	}
	
	// 计算开始查询的值
	var start=(obj.page-1)*obj.pagesize
	// 将每页数据量转为数字
	var size=parseInt(obj.pagesize)
	// 分页查询 ; 查询总数据量 
	pool.query('select * from qnls_hotellist where proid=? limit ?,?;select count(hid) as sum from qnls_hotellist where proid=?',[proid,start,size,proid],(err,r)=>{
		if(err) {
			return next(err)
		}
		// 结果是二维数组
		console.log(r)
		// 获取总的数据量
		var t=r[1][0].sum
		// 计算总页数=总数据量/每页显示数据，向上取整
		var p=Math.ceil(t/obj.pagesize)
		// 响应
		res.send({
			code:200,
			msg:'旅社列表',
			data: r[0],
			total: t,
			pages: p,
			page: obj.page,
			pagesize: obj.pagesize,
			cat_id: obj.cat_id
		})
	})
})

module.exports = router
